---@meta _

---@class RosterLib-2.0 名单库
---[文档](https://web.archive.org/web/20070809025000/http://wowace.com:80/wiki/RosterLib-2.0)
local RosterLib = {}

---获取具有所请求名称的单位id。如果队伍/团队中的两个宠物有相同的名字，可能会出现问题。
---@param name string 名称
---@return string|nil unitId 请求单位的单位标识，如果没有找到该单位，则为`nil`
function RosterLib:GetUnitIDFromName(name) end

---取请求单位在团队单位标识。
---@param unitId string 单位标识
---@return string|nil id 请求单位的单位id，如果找不到单元，则为`nil`
function RosterLib:GetUnitIDFromUnit(unitId) end

---获取具有请求名称的单元的单位对象。
---@param name string 名称
---@return string|nil name 单位名称
---@return table|nil unitId 单位标识
---@return string|nil class 单位类型，如`PET`
---@return string|nil rank 团队等级
---@return string|nil subgroup 团队小队
---@return string|nil online 单元已连接
function RosterLib:GetUnitObjectFromName(name) end

---获取所请求单位的单位对象。
---@param unit string 单位
---@return table|nil unitObject 单位对象；字段参考`GetUnitObjectFromName`返回字段
function RosterLib:GetUnitObjectFromUnit(unit) end


---对团队/单位中的每个单位进行迭代，可以选择包括宠物。
---@param pets boolean 是否包括宠物
---@return function iterator 可用于for循环的迭代器。
function RosterLib:IterateRoster(pets) end